1. Field of the Invention
The present invention generally relates to computer-implemented methods and systems for searching for information within a relational database. More particularly, the present invention relates to methods for searching and scoring exact as well as non-exact matches in a relational database, as well as computer-implemented methods for identifying and removing duplicate entries in relational databases, and methods for preventing future input of duplicate entries therein.
2. Description of the Related Art
Searching for specific information in a database can be difficult, for several reasons. For example, the data that is sought may have been improperly entered into the database and may include typographical errors, misspellings and abbreviations. Moreover, the information entered by the user on which the search is to be conducted may itself suffer from these issues. Even if the information in the database is correctly entered, it may have been entered differently than expected. The information sought may, in fact, may have been entered into the database two or more times, as the same party name can be entered in different ways. For example, IBM may have been entered in the database as IBM, IBM Corp, International Business Machines etc. Even in the case wherein there is a 100% match within 2 or more records on the party name, the matching records might actually refer to different parties. For example, there could be several records including John Smith as the party name, but each of them might be different parties.
To successfully search such information in the database may require the user to code complex SQL queries, which is not feasible for most users. Many databases accessed by business applications contain information associated with logical entities such organizations, addresses, contacts, and contact points. However, information related to such logical entities is prone to great variation in the manner in which it is entered into a database. Therefore, users accessing such a database may experience difficulties as they attempt to search for specific information on these entities in the database. What are needed, therefore, are computer-implemented methods for efficiently and successfully searching such information and returning potential matches in the presence of duplicative data, incomplete data, partially incorrect data or mistakes in the search input data. What are also needed are computer-implemented methods of identifying and removing duplicate records in the database, even in the presence of less-than fully consistent records in the database. Thereafter, there remains the need to prevent the future entry of such duplicates, irrespective of the source of such duplicate entries such as on-line forms and batch entry of customers, leads, etc.